@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --sidebar: #fff;
    --button : #fff;

    --background     : #f8f9fa;
    --foreground     : #000;
    --card           : #fff;
    --card-foreground: #000;

    --popover               : 0 0% 100%;
    --popover-foreground    : 240 10% 3.9%;
    --primary               : 240 5.9% 10%;
    --primary-foreground    : 0 0% 98%;
    --secondary             : 240 4.8% 95.9%;
    --secondary-foreground  : 240 5.9% 10%;
    --muted                 : 240 4.8% 95.9%;
    --muted-foreground      : 240 3.8% 46.1%;
    --accent                : 240 4.8% 95.9%;
    --accent-foreground     : 240 5.9% 10%;
    --destructive           : 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border                : 240 5.9% 90%;
    --input                 : 240 5.9% 90%;
    --ring                  : 240 5.9% 10%;
    --radius                : 1rem;
    --chart-1               : 12 76% 61%;
    --chart-2               : 173 58% 39%;
    --chart-3               : 197 37% 24%;
    --chart-4               : 43 74% 66%;
    --chart-5               : 27 87% 67%;
    --fuck                  : red;
    --fuck-foreground       : green;
  }

  .dark {
    --background: #202021;
    --foreground: #fffc;

    --sidebar: #000;
    --button : #000;

    --card                  : #000;
    --card-foreground       : #fff;
    --popover               : 240 10% 3.9%;
    --popover-foreground    : 0 0% 98%;
    --primary               : 0 0% 98%;
    --primary-foreground    : 240 5.9% 10%;
    --secondary             : 240 3.7% 15.9%;
    --secondary-foreground  : 0 0% 98%;
    --muted                 : 240 3.7% 15.9%;
    --muted-foreground      : 240 5% 64.9%;
    --accent                : 240 3.7% 15.9%;
    --accent-foreground     : 0 0% 98%;
    --destructive           : 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border                : 240 3.7% 15.9%;
    --input                 : 240 3.7% 15.9%;
    --ring                  : 240 4.9% 83.9%;
    --chart-1               : 220 70% 50%;
    --chart-2               : 160 60% 45%;
    --chart-3               : 30 80% 55%;
    --chart-4               : 280 65% 60%;
    --chart-5               : 340 75% 55%;
  }
}

@layer base {
  * {
    @apply border-border;
    --tw-prose-pre-bg: #282c34;
  }

  body {
    @apply bg-background text-foreground;
  }
}

html {
  touch-action: manipulation;
}

::-webkit-scrollbar {
  background-color: var(--scrollbar);
  border-radius   : 10px;
  width           : .5px;
  height          : .5px;
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background   : var(--scrollbar);
}

::-webkit-scrollbar-track {
  border-radius: 10px;
  background   : var(--scrollbar);
}

.scroll-container::-webkit-scrollbar {
  display: none;
}

.custom-scrollbar::-webkit-scrollbar {
  background-color: var(--scrollbar);
  border-radius   : 10px;
  width           : 6px;
  height          : 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  border-radius: 10px;
  background   : var(--scrollbar);
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background   : hsl(var(--muted));
}

@layer utilities {
  .group:hover .group-hover\:rotate-right {
    transform: translateY(0.15rem) rotate(-15deg) translateZ(0px);
  }

  .group:hover .group-hover\:-rotate-right {
    transform: translateY(-0.15rem) rotate(15deg) translateZ(0px);
  }

  .group:hover .group-hover\:rotate-left {
    transform: translateY(0.15rem) rotate(15deg) translateZ(0px);
  }

  .group:hover .group-hover\:-rotate-left {
    transform: translateY(-0.15rem) rotate(-15deg) translateZ(0px);
  }
}

.prose {
  max-width: 100% !important;
}

@media (max-width: 640px) {
  .prose {
    width: 344px;
  }
}

.prose pre {
  padding: 0;
}

.truncate {
  overflow     : hidden;
  text-overflow: ellipsis;
  white-space  : nowrap;
}

select:focus {
  outline: none;
}

.tbody-hover:hover td {
  background-color: hsl(var(--muted));
}

.md-p {
  white-space: pre-wrap;
  margin     : 1em 0 !important;
}

.prose img {
  margin: 1em 0 !important;
}

/* hidden input type is number spin button */
.no-spin-button {
  -moz-appearance   : textfield;
  -webkit-appearance: none;
  appearance        : none;
}

.no-spin-button::-webkit-inner-spin-button,
.no-spin-button::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin            : 0;
}

/* chat-container */
.chat-container {
  width: auto;
}

@media (width < 640px) {
  .chat-container {
    width: 100vw !important;
  }
}

button,
a,
div {
  -webkit-tap-highlight-color: transparent !important;
}